import java.util.Arrays;

public class Main {
    //0 
//进程	 Max	     Allocation	Need	    Available
// P0	（7,5,3）	（0,1,0）	（7,4,3）	 (3,3,2）
// P1	（3,2,2）	（2,0,0）	（1,2,2）	 (5,3,2)
// P2	（9,0,2）	（3,0,2）	（6,0,0）	 
// P3	（2,2,2）	（2,1,1）	（0,1,1）	         
// P4	 (4,3,3)    （0,0,2）	（4,3,1）	
    public static void main(String[] args) {
        int [][] available={
            {3,3,2},
            {0,0,0},
            {0,0,0},
            {0,0,0},
            {0,0,0} 
        };
        int [][] max={
            {7,5,3},
            {3,2,2},
            {9,0,2},
            {2,2,2},
            {4,3,3} 
        };
        int [][] allocation={
            {0,1,0},
            {2,0,0},
            {3,0,2},
            {2,1,1},
            {0,0,2} 
        };
        int [][]need={
            {7,4,3},
            {1,2,2},
            {6,0,0},
            {0,1,1},
            {4,3,1} 
        };
        BM bm=new BM(available, need, allocation, max);
        bm.init();
        System.out.println(Arrays.toString(bm.safeProcess));
     
    }
}